package com.kly.smartbi.model.vo;

import cn.hutool.core.bean.BeanUtil;
import com.kly.smartbi.model.entity.Chart;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 分析表格信息表
 * @TableName chart
 */
@Data
@Builder
public class ChartVO implements Serializable {
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 分析目标（支持长文本）
     */
    private String goal;

    /**
     * 数据类型（如图表类型，如：柱状图、折线图）
     */
    private String chartType;

    /**
     * 数据信息（如JSON格式存储的原始数据）
     */
    private String chartData;

    /**
     * 生成的图表数据
     */
    private String genChart;

    /**
     * 生成的分析结论
     */
    private String genResult;


    /**
     * 创建用户ID
     */
    private Long userId;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 用户信息
     */
    private UserVO user;

    /**
     * 名称
     */
    private String name;

    /**
     * 图表状态
     */
    private Integer status;

    /**
     * 执行信息
     */
    private String execMessage;


    /**
     * objToVo
     */
    public static ChartVO objToVo(Chart chart) {
        if (chart == null) {
            return null;
        }
        return BeanUtil.copyProperties(chart, ChartVO.class);
    }

    /**
     * voToObj
     */
    public static Chart voToObj(ChartVO chartVO) {
        if (chartVO == null) {
            return null;
        }
        return BeanUtil.copyProperties(chartVO, Chart.class);
    }


    private static final long serialVersionUID = 1L;
}